home *** CD-ROM | disk | FTP | other *** search
/ Shareware Extravaganza - Disc 1 / ShareWare Extravaganza 1 of 4 (The Ultimate Shareware Company).iso / grprogs / multshow.exe / FASTGIF.DOC next >
Text File  |  1987-11-07  |  31KB  |  795 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                            FastGIF Version 2.0
  18.                               Users' Manual
  19.  
  20.  
  21.         GIF and `Graphics Interchange Format' are trademarks (tm) of
  22.                CompuServe Incorporated, an H&R Block Company.
  23.  
  24.              FASTGIF v2.0  is Copyright (C) 1987 James C. Beebe.
  25.                             All Rights Reserved.
  26.  
  27.  
  28.                             TABLE OF CONTENTS
  29.  
  30.  
  31.                        1.  FEATURES                   1
  32.  
  33.                        2.  USER SUPPORTED SOFTWARE    3
  34.  
  35.                        3.  ABOUT GIF                  4
  36.  
  37.                        4.  FASTGIF HARDWARE SUPPORT   4
  38.  
  39.                        5.  DISPLAY MODES              5
  40.  
  41.                        6.  OPERATING MODES            6
  42.  
  43.                        7.  MENU MODE                  6
  44.  
  45.                        8.  SLIDE SHOWS                8
  46.  
  47.                        9.  FILE ORGANIZATION          8
  48.  
  49.                        10. PROGRAM DESCRIPTION       10
  50.  
  51.                        11. FUTURE                    12
  52.  
  53.                        12. ERROR MESSAGES            12
  54.  
  55.  
  56.     1. FEATURES
  57.  
  58.         FastGIF  is an off-line decoder for the display  of  Graphics 
  59.     Interchange  Format  (GIF) images on IBM  personal  computers  or 
  60.     compatibles,  equipped with EGA or VGA display systems.  GIF  was 
  61.     developed by CompuServe and features:
  62.  
  63.         Machine Independence
  64.  
  65.         GIF  files may be exchanged between different  computers  and 
  66.     graphics  systems.   With the proper decoder,  each  system  will 
  67.     display all GIF files to the best of the machine's  capabilities.  
  68.     This allows the widest possible audience for artists distributing 
  69.     their  images  in  the GIF format, and an  immense  selection  of 
  70.     images for those who enjoy viewing computer images.
  71.  
  72.         Compression
  73.  
  74.         GIF files are compressed using a highly effective  adaptation 
  75.     of  the LZW algorithm.  Communication and storage costs are  held 
  76.     to a minimum with the compression scheme. Since all GIF  decoders 
  77.     can  uncompress GIF images, machine specific  archival  utilities 
  78.     are not required for the images.
  79.  
  80.         Performance
  81.  
  82.         The Graphics Interchange Format allows for images up to 65535 
  83.     dots  wide  by  65535 lines high, containing  up  to  256  colors 
  84.     selected  from  up  to  16 million  different  colors.  While  no 
  85.     graphics  hardware has these capabilities today, the format  will 
  86.     be  able to handle the interchange of raster graphics  well  into 
  87.     the future.
  88.  
  89.         FastGIF was developed by James C. Beebe, and features:
  90.  
  91.         Speed
  92.  
  93.         FastGIF, as its name implies, is highly optimized for  speed.  
  94.     On any given computer, no current decoder achieves anywhere  near 
  95.     the  display  speed of FastGIF.  Reportedly, fast '286  and  '386 
  96.     computers  using  FastGIF display images much faster  than  other 
  97.     computers   utilizing  specialized  graphics  support   hardware.  
  98.     FastGIF  is  offered  as  evidence  that  the  Intel  family   of 
  99.     processors  and  the  IBM family of  personal  computers  are  as 
  100.     suitable   for  high  performance  graphics  as  any  series   of 
  101.     microprocessors in any current personal computer!
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 1
  111.  
  112.  
  113.         Visual Quality
  114.  
  115.         FastGIF  does not sacrifice the visual quality  of  displayed 
  116.     images for its speed.  In fact, no other current GIF decoder  for 
  117.     the EGA achieves comparable visual quality on as wide a range  of 
  118.     images as FastGIF.
  119.  
  120.         Hardware Support
  121.  
  122.         While FastGIF does not support systems less capable than  the 
  123.     256k  EGA,  its support of these systems is  extremely  complete, 
  124.     including the ability to vertically scroll images which cannot be 
  125.     completely  displayed  on  an  EGA  without  multiple  sync  rate 
  126.     monitors.
  127.  
  128.         User Interface
  129.  
  130.         FastGIF   provides  a  friendly  user  interface,   including 
  131.     selection  of images from an onscreen menu, without  requiring  a 
  132.     slow or complicated process to select and display images.
  133.  
  134.         Slide Shows
  135.  
  136.         FastGIF  will  display a series of  images  automatically  by 
  137.     following a user-generated command file.
  138.  
  139.         User Supported
  140.  
  141.         FastGIF  is distributed for free trial, with no  license  fee 
  142.     required until after the free trial period.
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 2
  168.  
  169.  
  170.     2. USER SUPPORTED SOFTWARE
  171.  
  172.         FastGIF  is user supported software.  FastGIF  represents  as 
  173.     large  a  creative  and programming  effort  as  many  commercial 
  174.     software packages costing hundreds of dollars.  In the spirit  of 
  175.     user supported software, FastGIF is made available for a free ten 
  176.     day  trial  period.  If you find FastGIF to be  useful,  you  are 
  177.     obligated to pay for continued usage.
  178.  
  179.         Because  of  the  low distribution costs  of  user  supported 
  180.     software,  FastGIF may be licensed for non-commercial use on  one 
  181.     machine  at  a  time (like a book) for the cost  of  $19.95.  For 
  182.     commercial  use, defined as a use of FastGIF where an  individual 
  183.     or commercial enterprise reasonably expects to use of FastGIF  to 
  184.     result in a profit, FastGIF may be licensed for $100.00 for up to 
  185.     ten computers at a single site or set of contiguous sites.
  186.  
  187.         FastGIF  is the copyrighted property of James C. Beebe.   All 
  188.     rights  are reserved other than those rights specified above.  If 
  189.     you  do not pay for a license for the continued use  of  FastGIF, 
  190.     you are obligated to discontinue its use after the ten day  trial 
  191.     period.   FastGIF  may not be modified by anyone other  than  the 
  192.     author.   FastGIF  may  be  distributed to  others  only  in  its 
  193.     complete,  unmodified form, with no fee charged other than a  fee 
  194.     for media and duplication.  No matter how you received your  copy 
  195.     of  FastGIF,  you are obligated to pay for a  license  after  the 
  196.     trial period.
  197.  
  198.         FastGIF is available to be included with a product, or to  be 
  199.     incorporated into a product.  Contact James C. Beebe for  further 
  200.     information.
  201.  
  202.         All registrations will be promptly acknowledged.
  203.  
  204.                                James C. Beebe
  205.                                2170 Dow Drive
  206.                              Akron, Ohio 44313
  207.  
  208.                            Compuserve 74746,2444
  209.  
  210.  
  211.         FastGIF  is made available for your enjoyment in the  viewing 
  212.     of   GIF  images.   All  warranties  are  disclaimed,   including 
  213.     consequential warranties.  It is your responsibility to determine 
  214.     whether  FastGIF  is  suitable  for  your  purposes.  The   high-
  215.     performance display of graphics images may not be compatible with 
  216.     all  combinations of graphics hardware.  Make certain  that  your 
  217.     hardware is suitable for use with FastGIF before risking  machine 
  218.     damage.
  219.  
  220.  
  221.  
  222.  
  223.  
  224.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 3
  225.  
  226.  
  227.     3. ABOUT GIF
  228.  
  229.         GIF files are a highly compressed, machine independent format 
  230.     for the distribution of raster-based color graphics  information.  
  231.     The  GIF file format was defined by CompuServe, who has  made  it 
  232.     available  for  public usage.  Over 1000 GIF files  suitable  for 
  233.     viewing  with  FastGIF  are  available  on  the  PICS  forum   of 
  234.     CompuServe.   There are also encoders and decoders for a  variety 
  235.     of  different  computers and graphics adapters available  in  the 
  236.     Data Libraries of the PICS forum.
  237.  
  238.         Because  the  GIF format is machine independent,  the  visual 
  239.     quality  of files may vary widely.  A computer equipped  with  an 
  240.     EGA  card,  especially with one of the extended EGA cards  and  a 
  241.     monitor  with multiple scan rates, and running FastGIF  software, 
  242.     is  among  the best at displaying GIF  images.  However,  certain 
  243.     files  may not display well with any combination of hardware  and 
  244.     software.
  245.  
  246.         The developers of GIF decoders continue to search for ways to 
  247.     improve  the  visual quality of images displayed  using  the  GIF 
  248.     system.
  249.  
  250.     4. FASTGIF HARDWARE SUPPORT
  251.  
  252.         FastGIF  requires an EGA card with 256k of memory and an  EGA 
  253.     monitor or a VGA system as furnished on the higher models of  the 
  254.     IBM  Personal  System  II.  Certain non-IBM EGA  systems  can  be 
  255.     equipped  with  monitors capable of switching  to  multiple  scan 
  256.     rates  to  provide higher resolution.  FastGIF supports  many  of 
  257.     these  systems  with "command line switches."  Note that  if  you 
  258.     have  a  standard EGA monitor, you should NOT use  these  command 
  259.     line switches!
  260.  
  261.         The switches are preceded by a hyphen (-) or a slash (/). The 
  262.     switches in FastGIF are:
  263.            a      Ahead Systems 640 x 480 (mode 38 decimal)
  264.            g      Genoa 640 x 480 (mode 115 decimal)
  265.            t      Tseng 640 x 480 (mode 37 decimal)
  266.            v      VGA   640 x 480 (mode 18 decimal)
  267.            m###   Use DECIMAL value ### to select 640 x 480
  268.            f      Do not expand pictures; use only 640 x 350 modes.
  269.                   Vega 480 line mode is automatically recognized.
  270.  
  271.         If  none  of the switches are given, the default  video  mode 
  272.     will be EGA mode 16, but pictures will be decoded as though a 640 
  273.     x  480 mode was available.  If the entire image does not  fit  on 
  274.     the  screen,  the  SHIFT keys may be used  to  scroll  the  image 
  275.     vertically  to  view  the entire picture.   The  left  SHIFT  key 
  276.     scrolls the picture up, allowing more of the bottom of the  image 
  277.     to  be  seen.  The right SHIFT key scrolls the image  back  down, 
  278.     allowing more of the top of the image to be seen.
  279.  
  280.  
  281.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 4
  282.  
  283.  
  284.  
  285.         These command line switches may be given any time FastGIF  is 
  286.     started.   If your video hardware can benefit from one  of  these 
  287.     switches,  you may want to create a batch file  to  automatically 
  288.     issue the switch.  For instance, if you have a Tseng card with  a 
  289.     multiple  scan  rate monitor, you might create a  batch  file  as 
  290.     follows:
  291.  
  292.         C>copy con fg.bat
  293.         FastGIF -t %1
  294.         ^Z                  <-- this is generated by pressing F6 or
  295.                                 control Z.
  296.  
  297.         You could then start FastGIF by typing:
  298.  
  299.         FG image.gif
  300.  
  301.     5. DISPLAY MODES
  302.  
  303.         FastGIF  has two different ways to display graphic images  to 
  304.     the screen.  The first way is to decode the file directly to  the 
  305.     screen.   When  this  is  being done,  you  will  see  the  image 
  306.     "painted" on the screen as you watch.  This method is used:
  307.           -- if you give a single filename on the command line.
  308.           -- if you press Return or F10 in menu selection mode with
  309.                no files currently selected.
  310.           -- for the first file displayed in a slide show.
  311.  
  312.         The other method of displaying an image is to first decode it 
  313.     in  the  background, and then to quickly copy the  image  to  the 
  314.     screen.   When  this is done, the picture will "pop  up"  from  a 
  315.     momentarily blank display screen.  This method is used:
  316.           -- for images selected with the space bar from the menu.
  317.           -- for files after the first file in a slide show.
  318.  
  319.         One of the most popular image sizes is 320 x 200.  Unless the 
  320.     -f  option is given, FastGIF will display these images as  640  x 
  321.     400 images.  Since there are four pixels used on the display  for 
  322.     each  pixel in the original image, extended color resolution  can 
  323.     be provided on these images, by carefully selecting the colors of 
  324.     the four dots used to display each image pixel.  This process  is 
  325.     called "dithering", and is an important part of FastGIF's ability 
  326.     to  provide  high visual quality on these images.
  327.  
  328.          Dithering is ONLY used on images decoded in the  background; 
  329.     images  decoded directly to the screen are NOT dithered.  If  you 
  330.     wish  to  compare a 320 x 200 image with and  without  dithering, 
  331.     view it by decoding directly to the screen and by decoding in the 
  332.     background. The difference can be amazing!
  333.  
  334.  
  335.  
  336.  
  337.  
  338.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 5
  339.  
  340.  
  341.     6. OPERATING MODES
  342.  
  343.         FastGIF  can  be operated in several  different  modes.   The 
  344.     simplest  mode  is invoked by giving a single  filename  (without 
  345.     wildcards)  on  the command line of FastGIF.  The image  will  be 
  346.     decoded directly to the screen, and if it is too large to fit  on 
  347.     a single screen, it may be scrolled using the SHIFT keys.   Press 
  348.     the return key to return to DOS.  An example would be:
  349.  
  350.         C>FastGIF trees
  351.  
  352.         The  second mode is menu mode.  This is invoked by giving  no 
  353.     file  argument  on  the FastGIF command line, by  giving  a  file 
  354.     argument containing wildcards, by giving a directory name as  the 
  355.     file  argument, or by giving a drive name as the  file  argument.  
  356.     Further details on menu mode are given in the menu section below.  
  357.     Examples:
  358.  
  359.         C>FastGIF
  360.         C>FastGIF t*.gif
  361.         C>FastGIF \pictures
  362.         C>FastGIF a:
  363.  
  364.         The third mode is slide show mode.  This is invoked by giving 
  365.     the  name  of  the  slide  command  file,  preceded  by  the  "@" 
  366.     character, on the command line.  Further information is  provided 
  367.     below.  An example:
  368.  
  369.         C>FastGIF @myslide
  370.  
  371.     7. MENU MODE
  372.  
  373.         FastGIF's  menu  mode provides a  "user-friendly,"  intuitive 
  374.     method  to  select  files from a menu displayed  on  the  screen. 
  375.     Special  care has been taken to make menu mode easy for  advanced 
  376.     users,  as well, by minimizing the number of keystrokes  required 
  377.     to select and display files.
  378.  
  379.         Help screens are available by pressing F1.  The help  screens 
  380.     give  a condensed version of the information in this manual,  and 
  381.     should  be  sufficient  to allow  operation  of  FastGIF  without 
  382.     referring to the manual.
  383.  
  384.         Menu  mode  allows the selection of a series  of  images  for 
  385.     display, as described below.  The time delay between these images 
  386.     is  selected  by  pressing F2, then entering  a  delay  time  (in 
  387.     seconds)  at the prompt.  A negative entry will cause FastGIF  to 
  388.     wait for a key to be pressed between images.
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 6
  396.  
  397.  
  398.         When  FastGIF is invoked in menu mode, a list of  files  will 
  399.     appear  on the screen.  The exact presentation of  the  filenames 
  400.     will  vary  with the number of files; FastGIF  displays  as  many 
  401.     files  on  screen as possible, and reduces the  level  of  detail 
  402.     about the files as the number of files increases.  (This strategy 
  403.     allows  full information on up to 46 files, and allows  filenames 
  404.     only for up to 184 files on a single screen.)
  405.  
  406.         If  more than 46 files are on a screen, the detailed  display 
  407.     may be selected with F4, and the compressed display selected with 
  408.     F3.
  409.  
  410.         Four  function keys change the order of the files  displayed. 
  411.     These keys are:
  412.           F5 -- Sort by file size
  413.           F6 -- Sort by file date/time
  414.           F7 -- Sort by filename (default)
  415.           F8 -- Sort by file extension, then filename.
  416.  
  417.         The F9 function key displays additional information about the 
  418.     file,  including  the GIF version number, the image size  of  the 
  419.     file, and the color resolution.  This information is taken from a 
  420.     header included in all GIF files, and its accuracy depends on the 
  421.     accuracy of the header information.
  422.  
  423.         Files  are  selected for display by moving through  the  file 
  424.     list  with the cursor keys.  If more than one screen of files  is 
  425.     available,  the Home, End, PgUp, and PgDn keys move  through  the 
  426.     screens.
  427.  
  428.         To select a file for display, press the space bar.  The first 
  429.     file  selected is decoded in the background, and appears  in  red 
  430.     while  it  is being decoded, then in green when it is  ready  for 
  431.     display.   Later files appear in yellow if selected.   The  first 
  432.     file decoded cannot be unselected; later files can be  unselected 
  433.     by pressing the space bar. Files are displayed in the order  they 
  434.     are selected.
  435.  
  436.         While the first file is being decoded, the keyboard may  feel 
  437.     a  little  sluggish.  This is due to the  computer  being  shared 
  438.     between decoding and the onscreen presentation.
  439.  
  440.         To  display  the selected files, press return  or  F10.   The 
  441.     selected  files  will  then  be displayed  on  screen,  with  the 
  442.     appropriate  delay time.  Press return after all files have  been 
  443.     displayed to return to the menu.
  444.  
  445.         If the return key is pressed when no files have been selected 
  446.     for  display,  the file under the cursor will be decoded  to  the 
  447.     screen.  Refer to the discussion of image display modes above for 
  448.     the  differences  between decoding to the screen  and  background 
  449.     decoding.
  450.  
  451.  
  452.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 7
  453.  
  454.  
  455.  
  456.         The ESC key will abort a series of images being displayed, or 
  457.     will return to DOS from the main menu.
  458.  
  459.     8. SLIDE SHOWS
  460.  
  461.         FastGIF allows the presentation of user scripted slide shows.  
  462.     A slide show script is an ASCII file, created with a text editor, 
  463.     such as WordStar in non-document mode, which contains a series of 
  464.     command  lines.  There are three types of command  lines:   image 
  465.     filenames, delay settings, and the quit command.  A slide show is 
  466.     presented  when FastGIF is started with the name of a slide  show 
  467.     script, preceded by the '@' sign, on the command lines, as:
  468.  
  469.         FastGIF @my.sld
  470.  
  471.         Images  for  the slide show are specified by  entering  their 
  472.     filenames  into the slide show script.  Wild cards may  be  used.  
  473.     Each file specification must be on a separate line.
  474.  
  475.         The  time each image is presented on screen is controlled  by 
  476.     the  delay  specification.  This is a line in  the  command  file 
  477.     containing a hyphen, the character 'd', and the time delay to  be 
  478.     used.  If a negative delay value is given, the slide show display 
  479.     waits for the return key to be pressed before displaying the next 
  480.     slide.
  481.  
  482.         Slide  shows  loop.   When the end of file  is  reached,  the 
  483.     program   starts  again from the beginning of the file.   The  -q 
  484.     command  in  the script will cause the program to  exit  at  that 
  485.     point.   The  program will also exit if the ESC  key  is  pressed 
  486.     during execution of a slide show.
  487.  
  488.         An example of a slide show script:
  489.  
  490.         -d10               ..display each slide for 10 seconds
  491.         zap*.gif           ..display all gif files starting with zap
  492.         pirate.gif         ..display pirate.gif
  493.         pics.gif           ..display the pics logo
  494.         -d-1               ..go to manual delay
  495.         -q                 ..quit when key is pressed
  496.  
  497.  
  498.  
  499.     9. FILE ORGANIZATION
  500.  
  501.         Keeping  track of all of your image files can  be  difficult, 
  502.     even  with a program like FastGIF that shows you a set  of  image 
  503.     files on a menu.  The file selection method in FastGIF can assist 
  504.     you in this task, however.
  505.  
  506.  
  507.  
  508.  
  509.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 8
  510.  
  511.  
  512.         One  strategy  is to keep all of your image  files  with  the 
  513.     CompuServe extension of .gif in your current directory... perhaps 
  514.     the  root directory of a floppy disk.  If you start FastGIF  from 
  515.     this  directory,  all of your image files will be  shown  on  the 
  516.     screen.
  517.  
  518.         Hard disk users tend to move from directory to directory.  To 
  519.     allow  FastGIF  to find image files from any directory,  you  can 
  520.     keep  your image files in a directory named \GIF on your  current 
  521.     drive.   If the directory containing FastGIF is included in  your 
  522.     PATH command, you can start FastGIF from any directory and select 
  523.     from the image files in your \GIF directory.
  524.  
  525.         If you want to limit FastGIF to a certain group of files, you 
  526.     can  use one of two different methods.  The most versatile is  to 
  527.     use  different  extensions  for the different  groups  of  files, 
  528.     keeping all image files in a single directory.  As an example, if 
  529.     you  have a large group of "comics" images, you could change  the 
  530.     extension  on these slides to .cmc, then, to start  FastGIF  with 
  531.     only the comic slides in the menu, you could use:
  532.  
  533.         C>FastGIF *.cmc
  534.  
  535.         To see all of the other images, start with
  536.  
  537.         C>FastGIF *.gif
  538.  
  539.         To see ALL of the images on the same menu, start with
  540.  
  541.         C>FastGIF *.*
  542.  
  543.         A similar strategy could be used with subdirectories.  If you 
  544.     want  to  segregate your "adult" images, they could be put  in  a 
  545.     subdirectory  named \PBW.  You could then view the  adult  images 
  546.     either by changing the directory to \PBW before starting FastGIF, 
  547.     using just
  548.  
  549.         C>FastGIF
  550.  
  551.         or by starting with the command
  552.  
  553.         C>FastGIF \PBW
  554.  
  555.         The other images could be brought up by starting FastGIF from 
  556.     any  other directory, without the \PBW argument.   This  strategy 
  557.     does  not  permit  starting  FastGIF  with  all  images,  as  the 
  558.     extension strategy does.
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 9
  567.  
  568.  
  569.     10. PROGRAM DESCRIPTION
  570.  
  571.         For those interested in the technical details of FastGIF, the 
  572.     program was developed over a four month period, starting with the 
  573.     specification  and  sample  code provided to  GIF  developers  by 
  574.     CompuServe.   The program evolution followed a series  of  goals, 
  575.     with  each  goal being substantially reached  before  development 
  576.     started  on  the  next goal area.   All  coding  followed  highly 
  577.     structured design standards, with exceptions limited strictly  to 
  578.     cases where significant measurable performance improvements could 
  579.     be demonstrated.
  580.  
  581.         The first goal was to improve the decoding and drawing  speed 
  582.     of  the  example program.  To this end, the program  was  recoded 
  583.     into assembly language.  A series of iterative improvements  were 
  584.     made  to  the  decoding and drawing modules of  the  program.   A 
  585.     performance  analyzer  was  used to determine the  areas  of  the 
  586.     program where the largest portion of execution time was spent, so 
  587.     that  effort  was constantly focused on the "hot  spots"  of  the 
  588.     program.   Accurate  measurements  of time to  display  an  image 
  589.     multiple  times  were used to measure the  effects  of  potential 
  590.     improvements.
  591.  
  592.         The  second  goal,  which was largely  unsuccessful,  was  to 
  593.     improve the color selection strategy for images displayed on  the 
  594.     EGA.       Strategies     attempted     included     IQY      and 
  595.     Hue/Saturation/Luminance  strategies, with gamma  correction  and 
  596.     several  weighting  techniques, including  non-linear  weighting.  
  597.     Many of these techniques provided improvement on some images, but 
  598.     resulted in significant degradation of other images.  The current 
  599.     version of FastGIF has reverted to a rather simple RGB  selection 
  600.     for  non-dithered  pictures, which, while it may not  provide  an 
  601.     optimum  color  selection  on  any  one  image,  does  not  cause 
  602.     degradation of images, either.
  603.  
  604.         At  the  same  time, the technique used  for  minimizing  the 
  605.     limitation  of the 16-color EGA palette was developed,  and  this 
  606.     technique has been quite successful.  The algorithm used consists 
  607.     of  avoiding duplications in the palette until all  entries  have 
  608.     been  used, then selecting the closest match from colors  already 
  609.     in  the palette for colors once the EGA palette has been  filled.  
  610.     This  technique is quite successful on most images with up to  32 
  611.     colors.
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 10
  624.  
  625.  
  626.         The  next  goal  was the user interface  and  path  strategy. 
  627.     Because quite satisfactory performance can be achieved in a  high 
  628.     level  language  in  this area, the user interface  is  coded  in 
  629.     Borland's  Turbo  C.   Assembly language routines  are  used  for 
  630.     screen writing.  It was at this time that the improved "feel"  of 
  631.     background   decoding   was  realized;  the   implementation   of 
  632.     background  decoding  was relatively straightforward due  to  the 
  633.     structured   techniques  used  in  coding  the   decode-to-screen 
  634.     subroutine.
  635.  
  636.         The  path strategy is used to take a  user-supplied  filename 
  637.     and  generate a filespec.  The strategy, a small portion  of  the 
  638.     "natural"  user interface, was rather difficult to  develop,  and 
  639.     the  first  test  version released to  the  developers  contained 
  640.     significant  bugs.  Basically, the strategy allows the  entry  of 
  641.     ambiguous  filenames  by the user, and using  default  extensions 
  642.     (.sld  for slide command files, .gif for images) and the  default 
  643.     directory (\gif), determines the  intended user filespec.
  644.  
  645.         As  the result of conversations with other developers on  the 
  646.     Developer  Subtopic  of PICS, it was decided to  investigate  the 
  647.     potential  of  dithering pixels for improved  color  performance.  
  648.     One of the most difficult problems was in developing an algorithm 
  649.     that  would permit good visual performance without  an  excessive 
  650.     speed penalty.  The algorithm selected depends upon a table which 
  651.     is generated by an optimized Turbo Pascal program, compiled using 
  652.     the '87 package, and running on a fast AT clone with a '287.  The 
  653.     table  generation program requires about 15 minutes  to  execute!  
  654.     Several  iterative  developments have resulted  in  substantially 
  655.     better visual quality than exhibited by the first  implementation 
  656.     of the dithering algorithm.
  657.  
  658.         The  current dithering algorithm depends on expanding  pixels 
  659.     from  the  image file into four dots onscreen.  This  works  well 
  660.     with 320 x 200 files displayed on 640 x 480 extended EGA  systems 
  661.     with  multiple  scan rate monitors, but leaves out  the  standard 
  662.     256k EGA, and normal EGA monitors.  To allow these users to enjoy 
  663.     the  improved color rendition available with dithering,  vertical 
  664.     scrolling  of  graphics images was implemented.  In  its  current 
  665.     form,  the scrolling is automatically bounded by the size of  the 
  666.     image, allowing a natural "feel".
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 11
  681.  
  682.  
  683.     11. FUTURE
  684.  
  685.         In   the  future,  the  developer  of  FastGIF   intends   to 
  686.     investigate  additional  goals  for  the  program.   These  goals 
  687.     include   improvements  to  the  dithering  algorithm   and   the 
  688.     possibility  of dithering pictures larger than 320 x 200.  A  new 
  689.     program, using the GIF decoding, dithering, and screen displaying 
  690.     modules  from FastGIF, will be developed to allow real-time,  on-
  691.     line viewing of GIF images.  Additional support will be developed 
  692.     for  the VGA, using both its 320 x 200 x 256 and its 640 x 480  x 
  693.     16 modes, and taking advantage of its larger selection of colors.  
  694.     Support is also intended for the rumored super VGA's, with 640  x 
  695.     480  x 256 capability.  These enhancements and additions will  be 
  696.     announced in the PICS forum.
  697.  
  698.     12. ERROR MESSAGES
  699.  
  700.         Bad Separator Character '*'
  701.           The  internal format of the GIF file is  inconsistent  with 
  702.     the definition.  Report the error to the Sysop on the forum where 
  703.     the file was found.
  704.  
  705.         Cannot open slide file  x:\dir\filespec.ext
  706.           The  indicated slide file could not be  opened.   Respecify 
  707.     with a filespec that will select an existing file.
  708.  
  709.         Early End of File
  710.           The  internal format of the GIF file is  inconsistent  with 
  711.     the definition.  Report the error to the Sysop on the forum where 
  712.     the file was found.
  713.  
  714.         Error Expanding Data
  715.           The  internal format of the GIF file is  inconsistent  with 
  716.     the definition.  Report the error to the Sysop on the forum where 
  717.     the file was found.
  718.  
  719.         Error Reading Extension Block
  720.           The  internal format of the GIF file is  inconsistent  with 
  721.     the definition.  Report the error to the Sysop on the forum where 
  722.     the file was found.
  723.  
  724.         Error Reading Image Head
  725.           The  internal format of the GIF file is  inconsistent  with 
  726.     the definition.  Report the error to the Sysop on the forum where 
  727.     the file was found.
  728.  
  729.         Insufficient Memory to run FastGIF
  730.           FastGIF cannot allocate enough memory to operate.  Free  up 
  731.     some memory by removing TSR programs (such as Sidekick), and  try 
  732.     again.
  733.  
  734.  
  735.  
  736.  
  737.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 12
  738.  
  739.  
  740.         No Matching Files
  741.           FastGIF  was  not  able  to find  any  files  matching  the 
  742.     filespec on the command line.
  743.  
  744.         Not a GIF File
  745.           The header on the file does not indicate a GIF file.  Check 
  746.     that  this is a GIF file you have downloaded.  If it  is,  verify 
  747.     your  download process (using a protocol such as XMODEM or CIS  B 
  748.     protocol).   If the file still will not decode, notify the  Sysop 
  749.     on the forum where the file was found.
  750.  
  751.         Unrecognized Option *
  752.           The  option  character given in the command  line  was  not 
  753.     recognized  by  FastGIF.   Refer to this  documentation  for  the 
  754.     correct option characters.
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.     FastGIF V2.0     (c) 1987 James C. Beebe 74746,2444      Page 13
  795.